if ( is_hvm_vcpu(v) )
{
+ struct segment_register sreg;
memset(c.nat->ctrlreg, 0, sizeof(c.nat->ctrlreg));
c.nat->ctrlreg[0] = v->arch.hvm_vcpu.guest_cr[0];
c.nat->ctrlreg[2] = v->arch.hvm_vcpu.guest_cr[2];
c.nat->ctrlreg[3] = v->arch.hvm_vcpu.guest_cr[3];
c.nat->ctrlreg[4] = v->arch.hvm_vcpu.guest_cr[4];
+ hvm_get_segment_register(v, x86_seg_cs, &sreg);
+ c.nat->user_regs.cs = sreg.sel;
+ hvm_get_segment_register(v, x86_seg_ss, &sreg);
+ c.nat->user_regs.ss = sreg.sel;
+ hvm_get_segment_register(v, x86_seg_ds, &sreg);
+ c.nat->user_regs.ds = sreg.sel;
+ hvm_get_segment_register(v, x86_seg_es, &sreg);
+ c.nat->user_regs.es = sreg.sel;
+ hvm_get_segment_register(v, x86_seg_fs, &sreg);
+ c.nat->user_regs.fs = sreg.sel;
+ hvm_get_segment_register(v, x86_seg_gs, &sreg);
+ c.nat->user_regs.gs = sreg.sel;
}
else
{